import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { RangModule } from './rang/rang.module';
import { ConfigModule } from '@nestjs/config';
// import * as dotenv from 'dotenv';
import configuration from './configuration';

@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true, // 全局使用配置文件
      //TODO:配置默认.env 合并dev或者prod文件
      //* 方案一 推荐
      // envFilePath: [`.env.${process.env.NODE_MODE}`, '.env'],
      //* 方案二  envFilePath + load
      // envFilePath: `.env.${process.env.NODE_MODE}`,
      // load: [() => dotenv.config({ path: '.env' })],
      //* 方案三 复杂场景考虑 config文件
      //! 注意点 配置了 .env文件 再配置yaml 会有加载顺序问题，
      //! 需要把 ignoreEnvFile 设置为true 再去加载配置
      ignoreEnvFile: true,
      load: [configuration],
    }),
    RangModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
